package optimizers;

import data_structures.ConfigurationAccuracyPair;
import java.util.PriorityQueue;

/**
 * Hyper-parameter optimization interface which is the core of this application.
 */
public interface HPOptimizer {
	/**
	 * Finds the best hyper-parameter configurations. Generally we provide the
	 * necessary information (entire data set, classifier, etc.) in the
	 * constructor.
	 * 
	 * @return A min-heap of the best-found hyper-parameter configurations.
	 */
	public PriorityQueue<ConfigurationAccuracyPair> optimize();
}
